多方式注入 第三十七天

waf工作流程

三部分:
1、身份认证
2、数据分析
3、规则匹配

    工作流程:先确认身份,如果在白名单,直接通过防火墙,
              如果不在白名单中,则需要在通过数据包解析,系统规则,到达服务器。

搞事情的三个地方:内网白名单直接绕过服务器

附注:waf只能防御有固定特征的漏洞注入,防御不了csrf,ssrf等。

waf种类:代码waf,软件waf(安全狗之类的),硬件waf(安全公司的设配),

        云waf(通过DNS移交技术发送到检测节点)

转换特征字符大小写

大小写组合绕过waf:

过waf方式:UniON sElECT 如此的方式方法

防止的方式:
通过正则数据匹配:
"/(union|select|from)/i"

在过滤时添加一个i 不分大小写过滤

关键字被过滤,不显示

and 关键字容易被过滤,可以用双写的方式防止过滤

如anandd过滤之后就可以正确执行,

利用编码

    可以通过编码的形式跳过过滤字符,不过url可以编码一下,对关键字可以多编码一次,保证正常输出:
    比如and url编码过后在编码一次,如下图:

    16进制,只有数据才能转换



利用内联注释,及注释绕过

    常见注释符:
    //、-- 、/**/、--+ 、-- -、; 、--a

普通注释替代空格
id=-1/**/union/**/select/**/1,2,3%23

内敛注释用的更多些,限制与mysql中/!*union*/,表示注释里面的语句会被执行
如:
id=-1/*!union*/%20/*select*/%201,2,3

也可以用%0c替代tab键
特殊字符代替空格,and 可用&&代替,or可用||代替,=不可用,用<>代替

@^1,可以当作空格使用

利用等价函数或者命令

利用特殊符号

反引号,可以绕过正则和空格,特殊情况下做注释符
+,可以用来连接字符串,也可以当作空格防过滤,"."和"-"都可以作为字符串的链接

一个@为定义变量,@@为系统变量

@^1,可以当作空格使用
用"_"或者"~"代替空格,或者通过加引号减少空格






利用括号

mysql加号用来过替代空格,在mssql中时字符串的拼接


加括号,过空格。
and(1=1)
and (1=1) waf不检测

过滤and和or的盲注

    strcmp(1,2)表示两个字符的对比


白名单绕过

跳目录/s/dasd/sadsf/..\fasdf

HTTP参数控制

重复参数污染
index.php?id=1 union select username,password from users

index.php?id=1/**/union/*id&=*/select/*id&=*/username,password/*id&=*/from/*id&=*/users

分割注入

id数可以分割,然后用&链接起来

"; print_r($arra); echo ""; echo "
"; } } mysql_free_result($result); //close connection mysql_close($conn); ?>
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 zhumeng512@qq.com

文章标题:多方式注入 第三十七天

本文作者:弈少

发布时间:2019-09-06, 11:25:59

最后更新:2019-09-08, 19:06:52

原始链接:http://yoursite.com/2019/09/06/北京渗透测试第三十七天 20190905/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录
×

喜欢就点赞,疼爱就打赏

相册